package com.dkm.orproject.dkmoa.dao;

import com.dkm.orproject.dkmoa.domain.OaClientType;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  @ClassName : OaClientTypeMapper  客户类型Mapper类
 *  @Description : 客户类dao层操作数据库实体类
 *  @Author : zmh //作者
 *  @Date: 2020-11-18 16:28  //时间
 */
@Mapper
public interface OaClientTypeMapper {


    /**
     * 根据Id查询删除该条客户类型数据
     * @param pkClientTypeId
     * @return 回调函数
     */
    int deleteByPrimaryKey(Long pkClientTypeId);

    /**
     * 插入客户数据
     * @param oaClientType 客户类型对象
     */
    int insertSelective(OaClientType oaClientType);

    OaClientType selectByPrimaryKey(Long pkClientTypeId);


    /**
     * 修改客户类型对象
     * @param oaClientType 客户类型对象
     * @return 回调函数
     */
    int updateByPrimaryKeySelective(OaClientType oaClientType);

    /**
     * 客户类型总行数
     * @param oaClientType 客户类型对象
     * @param startTime 起始时间
     * @param endDate 结束时间
     * @return 总行数
     */
    Long rowCount(@Param("oaClientType")OaClientType oaClientType,@Param("startTime") String startTime,@Param("endDate") String endDate);

    /**
     * 批量删除
     * @param list id集合
     * @return 回调函数
     */
    int deleteAll(List<Long> list);

    /**
     * 分页查询
     * @param oaClientType 客户类型对象
     * @param startTime 起始时间
     * @param endDate 结束时间
     * @return 客户类型对象集合
     */
    List<OaClientType> selectAll(@Param("oaClientType")OaClientType oaClientType,@Param("startTime")String startTime,@Param("endDate")String endDate);

    /**
     * 查询所有
     * @param oaClientTypeId 客户类型id值
     * @return 客户类型集合
     */
    List<OaClientType> loadOaClientType(@Param("oaClientTypeId")Long oaClientTypeId);
}